551C - GukiZ hates Boxes - CodeForces Solution


binary search greedy *2200

Please click on ads to support us..

Python Code:

f = lambda: map(int, input().split())
n, m = f()
h = list(f())[::-1]
def g(t, m):
    t -= n
    d = 0
    for u in h:
        t+=1
        if u>d:
            if t<1: 
                return 1
            u-=d
            d=-u % t
            m-=(u + d) // t
            if m<0: return 1
        else:
            d-=u
    return 0
a,b=0,int(11e13)
while b - a > 1:
    c=(b+a)//2
    if g(c,m):
        a=c
    else:
        b=c
print(b+1)


Comments

Submit
0 Comments
More Questions

112. Path Sum
1556A - A Variety of Operations
136. Single Number
169. Majority Element
119. Pascal's Triangle II
409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie